Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Wimbledon - London U.S. Open - New York Tiburon Challenger Indian Wells 1 Challenger Pune Challenger Bengaluru Challenger Davis Cup, World Group, Q, CAN-KOR 3-1 Dubai Duty Free Tennis Championships - Dubai San Luis Potosi Challenger Cuernavaca Challenger Mexico City Challenger National Bank Open - Montreal Winnipeg Challenger Drummondville Challenger National Bank Open - Toronto Winnipeg Challenger Brazil F11 Brazil F4 Venezuela F3 Brazil F6 Brazil F7 Brazil F8 Brazil F9 Brazil F10 Colombia F3 Colombia F4 Brazil F1 Brazil F2 Brazil F3 Brazil F4 Brazil F5 Brazil F6 Brazil F7 Brazil F8 Brazil F9 Brazil F12 Brazil F14 Brazil F15 Brazil F16 Brazil F17 Brazil F18 Brazil F20 Brazil F21 Brazil F22 Portugal F1 Canada F1 Portugal F2 Canada F2 Croatia F3 Canada F3 Croatia F5 Brazil F3 Brazil F4 Brazil F5 Argentina F7 Argentina F8 Argentina F9 Brazil F13 Brazil F14 Brazil F20 Brazil F24 Brazil F25 Colombia F1 Colombia F2 Canada F1 Canada F2 Canada F3 Czech Republic F1 Germany F6 Serbia F6 Italy F29 Germany F21 Germany F22 Brazil F29 Nicaragua F1 El Salvador F2 Mexico F2 USA F4 USA F5 Canada F2 Canada F3 Mexico F3 Mexico F4 Mexico F5 Mexico F6 Usa F16 Usa F17 Romania F14 Romania F15 Italy F28 Italy F29 Italy F30 Mexico F12 Mexico F14 Mexico F15 Usa F5 Canada F2 Canada F3 Usa F8 Mexico F2 USA F18 Usa F16 USA F17 Mexico F6 Mexico F7 Canada F4 Canada F5 Canada F2 USA F8 USA F9 Korea F1 Korea F2 Canada F4 Brazil F4 (Sao Carlos) Germany F8 (Kassel) Italy F21 (Bolzano) Italy F22 (Cornaiano) Brazil F5 (Mogi das Cruzes) Brazil F6 (Curitiba) Brazil F7 (Sao Carlos) Brazil F8 (Sao Paulo) Brazil F9 (Ribeirao Preto) M25 Weston Odlum Brown Vancouver Open - Vancouver Copa Petrobras - Aracaju Nossa Caixa Tennis Cup - Sao Paulo Cyclus Open de Tenis - Florianopolis Aberto de Santa Catarina - Florianopolis Credicard Mastercard Tennis Cup - Campos do Jordao BH Tennis Open International Cup - Belo Horizonte Joinville Tennis Festival - Joinville Amazonia Open de Tenis - Belem II Cyclus Open de Tenis - Florianopolis Aberto de Santa Catarina de Tenis - Florianopolis Unicredit Czech Open 2007 - Prostejov Seguros Bolivar Open - Bogota Challenger ATP de Cuenca Diario El Mercurio - Cuenca Challenger Natrel Presented by National Bank - Granby BH Tennis Open - Belo Horizonte Odlum Brown Vancouver Open - Vancouver Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao IV Manta Open - Manta Seguros Bolivar Open - Medellin XIII Trofeo Ciudad de Quito - Quito Copa Petrobras Colombia - Bogota Copa Petrobras Brazil - Belo Horizonte Copa Petrobras Paraguay - Asuncion Aberto de Sao Paulo - Sao Paulo Challenger de Providencia-Copa Kia - Santiago Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas San Luis Potosi Challenger - San Luis Potosi AGT Challenger - Leon III Aberto Santa Catarina de Tenis - Florianopolis Zagreb Open - Zagreb Trofeo Cassa di Risparmio di Alessandria - Alessandria Memorial A. Manfredini Sassuolo Challenger - Sassuolo Zenith Tennis Cup-Harbour Club - Milan Polska Energia Open - Bytom Seguros Bolivar Open - Bogota Challenger Banque Nationale - Granby V Manta Open-Trofeo Ricardo Delgado Aray - Manta Moncton Men's Challenger - Moncton BH Tenis Open International Cup 2008 - Belo Horizonte Oldum Brown Vancouver Open - Vancouver Credicard Citi Mastercard Tennis Cup - Campos do Jordao Copa Petrobras-Colombia - Bogota Copa Petrobras-Brazil - Aracaju Cyclus Open de Tenis - Florianopolis Copa Petrobras-Uruguay - Montevideo Bancolombia Open - Cali IV Challenger Ciudad De Guayaquil - Guayaquil National Bank Men's Rimouski Challenger - Rimouski Seguros Bolivar Open - Medellin Sao Paulo Challenger Salinas Challenger Iquique Challenger Bucaramanga Challenger Santiago Challenger Bogota Challenger San Luis Potosi Challenger Mexico City Challenger Talahassee Challenger Pereira Challenger Blumenau Challenger Karlsruhe Challenger Furth Challenger Kosice Challenger Bytom Challenger Constanta Challenger Braunschweig Challenger Oberstaufen Challenger Granby Challenger Belo Horizonte Challenger Vancouver Challenger Campos do Jordao Challenger Brasilia Challenger Brasov Challenger Cali Challenger Buenos Aires Challenger Montevideo Challenger Asuncion Challenger Santiago Challenger Medellin Challenger Guayaquil Challenger Puebla Challenger Sao Paulo Challenger Lima Challenger Sao Paulo Challenger Salinas Challenger Honolulu Challenger Bucaramanga Challenger Dallas Challenger Rimouski Challenger Bogota Challenger Leon Challenger Curitiba Challenger Sarasota Challenger Cremona Challenger Alessandria Challenger Rome Challenger Nottingham Challenger Bogota Challenger Granby Challenger Vancouver Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Tulsa Challenger Belo Horizonte Challenger Bogota Challenger Cali Challenger Quito Challenger Tashkent Challenger Seoul Challenger Santiago Challenger Sao Paulo Challenger Medellin Challenger Eckental Challenger Aachen Challenger Guayaquil Challenger Sao Paulo Challenger Honolulu Challenger Bucaramanga Challenger Caloundra Challenger Salinas Challenger Santiago Challenger Rimouski Challenger Pereira Challenger Tallahassee Challenger Santos Challenger Leon Challenger Busan Challenger Zagreb Challenger Alessandria Challenger Prostejov Challenger Guadalajara Challenger Winnetka Challenger Bogota Challenger Granby Challenger Vancouver Challenger Szczecin Challenger Sacramento Challenger Tiburon Challenger Sao Jose Do Rio Preto Challenger Medellin Challenger Buenos Aires Challenger Guayaquil Challenger Knoxville Challenger Champaign Challenger Montevideo Challenger Heilbronn Challenger Guadalajara Challenger Rimouski Challenger Le Gosier Challenger Barranquilla Challenger Tallahassee Challenger Sarasota Challenger Santos Challenger Savannah Challenger Prostejov Challenger Nottingham Challenger Braunschweig Challenger Granby Challenger Manta Challenger Cali Challenger Campinas Challenger Quito Challenger Tashkent Challenger Rio De Janeiro Challenger Porto Alegre Challenger Geneva Challenger Medellin Challenger Ortisei Challenger Sao Leopoldo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Salinas Challenger Rimouski Challenger Pereira Challenger Santiago Challenger Guadalajara Challenger Itajai Challenger Mexico City Challenger Santos Challenger Sao Paulo Challenger Johannesburg Challenger Rome Challenger Bordeaux Challenger Nottingham Challenger Nottingham-2 Challenger Vancouver Challenger Sao Paulo Challenger Rio De Janeiro Challenger Cali Challenger Quito Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Bogota Challenger Sao Paulo Challenger Irving Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Marburg Challenger Braunschweig Challenger Scheveningen Challenger Poznan Challenger Medellin Challenger Quito Challenger Pereira Challenger Cali Challenger San Juan Challenger Cordoba Challenger Guayaquil Challenger Sao Paulo Challenger Tour Finals Bucaramanga Challenger Prostejov Challenger Prague Challenger Braunschweig Challenger Poznan Challenger Barranquilla Challenger Campinas Challenger Pereira Challenger Medellin Challenger Santiago Challenger Lima Challenger Bogota Challenger Buenos Aires Challenger Rio De Janeiro Challenger Santo Domingo Challenger Puebla Challenger Guadalajara Challenger Leon Challenger Le Gosier Challenger Sao Paulo Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger Cali Challenger Tampere Challenger Biella Challenger Cortina Challenger Fano Challenger Curitiba Challenger Santos Challenger Medellin Challenger Campinas Challenger Santiago Challenger Guayaquil Challenger Bratislava Challenger Bogota Challenger Happy Valley Challenger Maui Challenger Santiago Challenger Guadalajara Challenger Leon Challenger San Francisco Challenger Panama City Challenger San Luis Potosi Challenger Taipei City Challenger Gimcheon Challenger Seoul Challenger Busan Challenger Vicenza Challenger Prostejov Challenger Medellin Challenger Scheveningen Challenger Biella Challenger Floridablanca Challenger Bogota Challenger Campinas Challenger Buenos Aires Challenger Cali Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Rennes Challenger Budapest Challenger Indian Wells Challenger Santiago Challenger Drummondville Challenger San Luis Potosi Challenger Mexico City Challenger Guadalajara Challenger Anning Challenger Seoul Challenger Gimcheon Challenger Busan Challenger Caltanissetta Challenger L'Aquila Challenger Milan Challenger Braunschweig Challenger Tampere Challenger Vancouver Challenger Chicago Challenger Genova Challenger Szczecin Challenger Tiburon Challenger Campinas Challenger Santo Domingo Challenger Orlando Challenger Columbus Challenger Punta Del Este Challenger Dallas Challenger Morelos Challenger Santiago Challenger San Luis Potosi Challenger Granby Challenger Vancouver Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Calgary Challenger Charlottesville Challenger Knoxville Challenger Forli 2 Challenger Forli 3 Challenger Quimper Challenger Pau Challenger Turin Challenger Ilkley Challenger Malaga Challenger Pozoblanco Challenger Winnipeg Challenger Vancouver Challenger Mouilleron-Le-Captif Challenger Ismaning Challenger Las Vegas Challenger Calgary Challenger Drummondville Challenger Quimper Challenger Koblenz Challenger Cherbourg Challenger Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Estoril Open - Estoril Gerry Weber Open - Halle Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Claro - Buenos Aires Bet-At-Home Austrian Open - Kitzbuhel Allianz Suisse Open - Gstaad BCR Open Romania - Bucharest PTT Thailand Open - Bangkok China Open - Beijing St. Petersburg Open - St. Petersburg Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier VTR Open - Vina del Mar Brasil Open - Sao Paulo Regions Morgan Keegan Championships - Memphis Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Delray Beach International Tennis Championships - Delray Beach US Men's Clay Court Championship - Houston BRD Nastase Tiriac Trophy - Bucharest Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice AEGON Championships - London AEGON International - Eastbourne Campbell's Hall of Fame Tennis Championships - Newport SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Valencia Open - Valencia VTR Open - Vina del Mar Brasil Open - Sao Paulo SAP Open - San Jose Delray Beach International Tennis Championships - Delray Beach Hall of Fame Tennis Championships - Newport SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Claro Open Colombia - Bogota Credit Agricole Suisse Open - Gstaad Malaysian Open - Kuala Lumpur China Open - Beijing Erste Bank Open - Vienna Swiss Indoors Basel - Basel Aircel Chennai Open - Chennai Royal Guard Open Chile - Vina del Mar Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Brasil Open - Sao Paulo BRD Nastase Tiriac Trophy - Bucharest AEGON Championships - London Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota BB&T Atlanta Open - Atlanta Bet-at-home Cup - Kitzbuhel Citi Open - Washington Shenzhen Open - Shenzhen China Open - Beijing Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Apia International - Sydney Ecuador Open - Quito ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai US Men's Clay Court Championship - Houston BMW Open - Munich Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad BB&T Atlanta Open - Atlanta Citi Open - Washington Austrian Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing Valencia Open - Valencia Aircel Chennai Open - Chennai ASB Classic - Auckland Ecuador Open - Quito ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Brasil Open - Sao Paulo BMW Open - Munich AEGON Championships - London Aegon Nottingham Open - Nottingham Citi Open - Washington Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle AEGON International - Eastbourne BB&T Atlanta Open - Atlanta Suisse Open - Gstaad Citi Open - Washington Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Chengdu Open - Chengdu Maharashtra Open - Pune Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle Hall of Fame Open - Newport Citi Open - Washington Chengdu Open - Chengdu China Open - Beijing European Open - Antwerp Swiss Indoors Basel - Basel Brasil Open - Sao Paulo Chengdu Open - Chengdu China Open - Beijing ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille St. Petersburg Open - St. Petersburg Erste Bank Open - Vienna Sofia Open - Sofia Dubai Duty Free Tennis Championships - Dubai Noventi Open - Halle Nature Valley International - Eastbourne Hall of Fame Open - Newport Citi Open - Washington Moselle Open - Metz Sofia Open - Sofia Dallas Open - Dallas Tel Aviv Watergen Open - Tel Aviv Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Bucaramanga Challenger Lima Challenger 2007 - Lima Rijeka Open - Rijeka Rogers Masters - Toronto Rogers Cup - Montreal Pereira Challenger Savannah Challenger Lugano Challenger Bytom Challenger Lexington Challenger Sony Ericsson Open - Miami Mutua Madrilena Masters Madrid - Madrid Rogers Cup - Toronto Buenos Aires Challenger Bordeaux Challenger Lyon Challenger Blois Challenger Rio De Janeiro Challenger Blumenau Challenger Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid Rogers Cup - Montreal Western & Southern Financial Group Masters - Cincinnati BNP Paribas Open - Indian Wells Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Coupe Rogers - Montreal Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami National Bank Open - Montreal Columbus Challenger Granby Challenger French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, CAN-MEX 4-1 Davis Cup, Group I, 2R, ECU-CAN 2-3 Davis Cup, World Group, PO, ISR-CAN 2-3 Davis Cup, World Group, 1R, CAN-FRA 1-4 Davis Cup, Group I, 2R, BRA-COL 3-1 Davis Cup, World Group, PO, CAN-RSA 4-1 Davis Cup, World Group, QF, CAN-ITA 3-1 Davis Cup, World Group, SF, SRB-CAN 3-2 Davis Cup, World Group, PO, CAN-COL 3-2 Hopman Cup - Perth Davis Cup, World Group, 1R, ARG-BRA 3-2 Davis Cup, World Group, 1R, CAN-JPN 3-2 Davis Cup, World Group, PO, BRA-CRO 1-3 Davis Cup, World Group, 1R, FRA-CAN 5-0 Davis Cup, World Group, PO, CAN-CHI 5-0 Davis Cup, World Group, 1R, CAN-GBR 2-3 Hopman Cup - Perth Davis Cup, World Group, 1R, CRO-CAN 3-1 Davis Cup, Finals, Group F Davis Cup, Finals, QF, AUS-CAN 1-2 Davis Cup, Finals, SF, RUS-CAN 1-2 Davis Cup, Finals, Group B Davis Cup, Group B, Valencia Australian Open (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Olympics - London Olympics - Rio de Janeiro Charleston Challenger Fairfield Challenger Calgary Challenger Indian Wells 2 Challenger Granby Challenger Granby Challenger U.S. National Indoor Tennis Championships - Memphis Barcelona Open BancSabadell - Barcelona Qatar ExxonMobil Open - Doha Credit Agricole Suisse Open - Gstaad Topshelf Open - 's-Hertogenbosch Davis Cup, Group A, Bologna National Bank Open - Toronto